Best explained in "How to Explain Zero-Knowledge Protocols to Your Children" [@quisquaterHowExplainZeroKnowledge1990]
The name "zero-knowledge proofs" is slightly misleading, since the prover A reveals one bit of knowledge to the verifier B (namely that I belongs to L). Our first objective in this paper is to show that it is possible to extend this notion to "truly zero-knowledge proofs" which do not even reveal this single bit. The basic idea is to replace "knowledge" by "knowledge about knowledge": A's goal is not to prove that I belongs to L, but to prove that he knows the status of I with respect to L. From B's point of view, he did not get any information whatsoever about "the real world" (I, L, and their relationships)--only about A's state of knowledgeconcerning the real world.[@feigeZeroknowledgeProofsIdentity]